Na konci března 2024 jsme začali rozesílat MMU3 pro Original Prusa MK4 (a MK3.9). Tím zároveň skončilo dlouhé období interního testování, během něhož jsme si potvrdili, že systém vydrží desetitisíce výměn filamentů na MK4. Verzi pro MK3S+ jsme začali rozesílat v červenci 2023 a opakovaně dokazuje, že se povedla.

Aktuálně je MMU3 k dispozici pro všechny podporované tiskárny, většina verzí je skladem a den co den zkracujeme dodací lhůty verze pro MK4 (podrobnosti najdete v tabulce odesílání objednávek). Opravdu rádi taky vidíme, jak se na Redditu neustále objevuje víc a víc ambiciózních výtisků – 150+ hodinový tisk bez jediného zásahu už v dnešní době není žádná rarita. 🙂

A než se do toho začtete – odkazy na všechny modely z obrázků najdete na konci článku. 😉

MMU3 – rychlý a efektivní

Existuje řada důvodů, proč se MMU drží stejného základu.

První je ten, že MMU je vlastně neuvěřitelně jednoduché zařízení – celou jednotku si můžete snadno sestavit sami doma (nebo upgradovat předchozí verzi), údržba je hračka, protože dostat se do jednotky, abyste vyčistili případné zbytky plastu, se dá snadno a rychle. S nejnovější MMU jsme to dotáhli ještě dál a vylepšili jsme několik jejích součástek, takže teď můžete např. nastavit sklon jednotky ve dvou krocích pro pohodlnější přístup. Taky jsme přepracovali většinu částí jednotky a vyztužili je kovovými díly. A tady bychom rádi poděkovali celé 3D tiskové komunitě za to, že nám pomohla identifikovat zásadní oblasti – jak svými návrhy, tak uživatelskými modifikacemi. Více informací o změnách v hardwaru najdete v našem dřívějším článku.

Konstrukce MMU3 také umožňuje opravdu rychlou výměnu filamentu – v průměru se pohybuje mezi 35 a 45 sekundami v závislosti na hodnotách objemu čištění nastavených v PrusaSliceru. MMU3 vám ušetří spoustu času. Protože se během jediného vícemateriálového tisku počet výměn filamentu pohybuje v řádech tisíců, počítá se každá vteřina ušetřená při výměně filamentu. Rychlejší je už jen Original Prusa XL.

Další věcí, kterou jednotka MMU3 umožňuje, je tisk z více materiálů s minimálním odpadem. Namísto odřezávání a odhazování nadbytečného filamentu používá MMU3 kompaktní, částečně dutou čistící věž. A velikost samotné čistící věže se dá zmenšit ještě víc využitím funkcí “Vyčištění do objektu” a “Vyčištění do výplně objektu” – pokud je nastavíte, přebytečný materiál v trysce se využije buď pro tisk daného objektu nebo jako jeho výplň. Tak jako tak si prostě nemusíte lámat hlavu s tím, co dělat s plastovým odpadem, který by se vám jinak hromadil u tiskárny.

Takže i když celé zařízení možná vypadá podobně jako jeho předchůdce, tisk s ním je úplně jiný zážitek. Mimo jiné i díky kompletně přepracovanému firmwaru – pokud mi nevěříte, rozhodli jsme se níže podělit o celý proces vývoje nové verze 😉 Díky plně obousměrné komunikaci mezi oběma zařízeními je konfigurace a spouštění vícemateriálových tisků mnohem snazší. A barevný dotykový displej na MK3.5/MK4 vám dává další možnosti, jako například rychlé přemapování filamentů nebo nastavení funkce SpoolJoin pro využití zbytků filamentu z téměř prázdných cívek.

A v neposlední řadě jsme se rozhodli zachovat design podobný MMU2S proto, aby byl upgrade vaši starší jednotky snadný a levný. Samozřejmě můžete také do vaší jednotky MMU2S naflashovat firmware MMU3 a vylepšit ji alespoň softwarově, aniž byste museli vyměňovat jakékoli díly – i tak uvidíte rozdíl.

MMU3 pro MK4

Teď se nabízí otázka: proč vydání MMU3 pro MK4 trvalo déle, když ostatní verze jsou na trhu od poloviny roku 2023?
Podrobně jsme to rozebírali na blogu, takže tady jen stručně: plně funkční MMU3 pro MK4 jsme měli připravený k expedici přibližně v dubnu 2023 a čekali jsme, až se dostatečně uvolní naše výrobní kapacity – MMU3 byl naplánovaný na červen 2023. Když se ale přiblížilo léto a začaly stoupat teploty, zaznamenali jsme náhlý pokles jeho spolehlivosti (MMU3+MK4). Proč na MK3S+ fungoval bez problémů a s MK4 měl problémy? Příčina byla v rozdílných systémech extruze a hotendu. Až do léta jsme měli perfektně fungující kombinaci – a najednou jsme museli začít skoro od začátku.

Založili jsme tedy testovací farmu a okamžitě začali pracovat na vývoji řešení. Jak jsme popisovali už dřív, výtisky s MMU snadno zaberou i víc jak 30 tiskových hodin, a kvůli tomu je jakékoliv testování výrazně časově náročnější.

Ukázalo se, že příčinou problému byly špičky filamentu – jakmile vysunete filament z extruderu, musí být špička na jeho konci pro jeho další zavedení naprosto dokonalá. V našem případě ale vysunuté filamenty měly často na konci dlouhý, tenký plastový „ocásek“ či „vlas“, který v kompaktním Nextruderu způsoboval problémy. Podrobně jsme to celé popisovali v našich předchozích updatech (říjen 2023 a leden 2024).

Extrémní případ stringování na špičce filamentu

Poslední z nich jsme zakončili konstatováním, že většina problémů u verze pro MK4 je způsobena tím, že filament neprochází extruderem a do kovového vodiče filamentu dostatečně hladce. A to mě přivádí k…

„Main Plate“ Nextruderu

Abychom dosáhli požadované úrovně spolehlivosti při častém zavádění/vysouvání filamentu, museli jsme v Nextruderu upravit součástku „Main Plate“ – proto je také součástí balení MMU3. Také jsme upravili proces vysouvání filamentu tak, aby byl výrazně efektivnější a rychlejší! Níže vidíte porovnání rychlosti výměny MMU3 na MK3 a MMU3 na MK4, kde jsme sice protáhli „ramming“ (tvarování špičky) ale zároveň jsme výrazně urychlili vytlačení zbytkové barvy z trysky.

Když MK4 používáte „běžným způsobem“ a dokonce i když budete filamenty sami ručně měnit několikrát za den, nebude Main Plate vykazovat prakticky žádné známky opotřebení – ani po hodně dlouhé době. Ale při vícebarevném tisku se během jediného výtisku může počet výměn filamentu snadno vyšplhat na tisíce – bez MMU se vám takový počet výměn nastřádá nejdřív za několik let, a i tak byste museli tisknout téměř nepřetržitě. Při extrémním množství výměn filamentu během vícemateriálových tisků může Main Plate začít vykazovat známky opotřebení v závislosti na tom, jak intenzivně MMU používáte.

Součástka, kterou s jednotkou MMU dodáváme, byla vytištěna technologií Multi Jet Fusion, aby měla delší životnost. Stále je však potřeba s ní počítat jako se spotřebním materiálem, protože neustálými výměnami filamentu se časem oběhá. Tiskárna sleduje a počítá výměny filamentu a upozorní vás, že se předpokládaná životnost tohoto dílu blíží ke konci, nebo že se je proces zavádění filamentu méně spolehlivý právě z důvodu nadměrného opotřebení. Podle našich interních testů MJF díl vydrží přibližně 80 000 výměn filamentu a pak už je potřeba ho vyměnit (výměna zabere přibližně 10 minut). Tuhle součástku jsme podrobili opravdu důkladnému internímu testování, takže pokud se vám projeví nějáké problémy dřív, než by se mělo projevit opotřebení, jsou nejspíš způsobené něčím jiným. V takových případech neváhejte kontaktovat naši technickou podporu. Jako krátkodobé řešení si můžete díl vytisknout z PETG – STL soubor najdete na Printables.com. Životnost tištěného PETG dílu však bude znatelně kratší.

Cesta k MMU3

Na přelomu let 2021 a 2022 začal náš firmware lead David sestavovat seznam funkcí pro nový firmware MMU2S. Původně bylo jediným cílem zobrazit na obrazovce tiskárny řádná stavová hlášení v případě, kdy MMU narazí na problém. Ale nakonec z toho vznikl kompletně nový projekt, který měl za cíl přidat plnohodnotnou obousměrnou komunikaci, zmiňovaná propracovaná stavová hlášení a spoustu dalších funkcí, které zajistí, aby jednotka MMU byla mnohem méně náchylná k problémům spojeným s montáží. Dali jste nám jasně najevo, že je montáž MMU si až moc zakládá na tom, aby bylo všechno naprosto perfektně seřízené. V opačném případě se můžou objevit různé problémy s tiskem.
U našich 3D tiskáren tohle nikdy problém nebyl (jak říká spousta komentářů na internetu: „kit po sestavení prostě funguje“), takže u MMU nás to trošku zaskočilo. Ale nespokojené hlasy hovořily dost jasně.

Jak to tak bývá, obvykle nejdete na internet proto, abyste všem řekli „Všechno je v pořádku.“ Často je to hlavně proto, abyste zjistili řešení nějakého problému. Takže když se začaly objevovat dotazy a žádosti o pomoc s MMU2, vyvolalo to v mnohých pocit, že MMU2S prostě nefunguje – a to tak, že vůbec. Situace byla reálně jiná, většina uživatelů s tiskem z více materiálů ve skutečnosti neměla zásadní potíže. Navíc když se začaly objevovat různé komunitní modifikace a opravy, měly různou míru úspěšnosti – a to právě proto, že bylo příliš obtížné MMU sestavit s dostatečně vysokou přesností, takže příčina problémů často ležela někde úplně jinde a „zaručená“ oprava v podobě předělané plastové součástky vůbec nemusela pomoci. Tyhle připomínky jsme vzali velmi vážně. Také jsme všem uživatelům MMU2S poslali informace, jak jejich jednotky MMU vylepšit novým firmwarem a nabídli jim kompenzaci za trable spojené s montáží.

Firmwarová spása

Celou situaci jsme důkladně analyzovali – prošli jsme příspěvky uživatelů na sociálních sítích, videa, recenze, modifikace a samozřejmě reporty z naší technické podpory. Původně jsme chtěli firmware přepracovat hlavně tak, aby byl uživatelsky přívětivější, protože jednotka používala ke komunikaci s uživatelem sice jednoduchý, ale poněkud kryptický systém pěti LEDek. To byla jedna z věcí, která přispěla ke vzniku zmatku na sociálních sítích. „Ale ne! Blikají mi první a třetí LEDka! Co to znamená?“ Zbytečně to ztěžovalo řešení i jinak naprosto triviálních problémů, na které můžete při tisku narazit. Daleko větší smysl by přece dávalo, kdyby vám tiskárna uměla rovnou říct „Něco blokuje rotaci idleru, prosím zkontrolujte následující:” namísto blikání LEDkami.

 

Asi není třeba dodávat, že původní firmware pro MMU2 vyvíjel před mnoha lety malý tým, a že v posledních několika letech se toho u nás hodně změnilo. David se tedy rozhodl vylepšit stávající codebase, ale z toho, co se na začátku tvářilo jako jednoduchá aktualizace firmwaru, se vyklubal zcela nový projekt, který vedl až k uvedení MMU3. Skončilo to totiž u toho, že namísto rozšíření starého kódu se stávající codebase vyhodila z okna a nový firmware začínal od nuly. Na druhou stranu kompletní přepracování kódu vedlo k obrovskému zlepšení celkového výkonu – což se při vývoji softwaru nepodaří vždycky. 😉

Návrh zbrusu nové architektury firmwaru byl hotový za dva měsíce. Původně jsme uvažovali o Arduino IDE, ale od toho jsme později upustili, protože nám neumožňovalo vše, co jsme si naplánovali.

Firmware stojí na třech vrstvách:

  • HAL – Hardware Abstraction Layer – obstarává přístup k timerům, pinům, watchdogu, EEPROM, USART atp
  • Moduly – abstrakce komponent na jednotce – tlačítka, senzor FINDA, Fsensor, Idler, LEDky, pohyb krokového motoru, permanent storage, protokoly, řemenice, selektor, seriová komunikace, časování, USB CDC, uživatelský vstup
  • Aplikační logika – obsahuje aplikační logiku funkcí, které MMU provádí – například řezání filamentu, vyjmutí materiálu, parkování, kontrola funkčnosti hardwaru, zavádění filamentu a další.

Jednou z věcí, které předchozí firmware brzdily (krom toho, že měl kořeny v roce 2017), bylo to, že byl napsán jako synchronní kód. To v podstatě vylučovalo jakoukoli aktualizaci tiskárny, pokud jednotka MMU prováděla nějakou akci. Než mohla jednotka MMU reagovat na jakýkoli nový vstup nebo situaci, musela dokončit svůj cyklus. Navíc ve skutečnosti nevěděla, co se děje s tiskárnou – pouze neustále přijímala příkazy, které pak prováděla. S novou architekturou tomu tak už není. Vše funguje jako paralelní stavový automat a tiskárna i MMU spolu neustále komunikují a informace se sdílejí v reálném čase. Systém tak může sám vyřešit spoustu situací, které by jinak vyvolaly neoblíbenou hlášku „MMU vyžaduje pozornost uživatele“. Nepodařilo se zavést filament? Automaticky to zkusíme znovu. Výborně, teď už to funguje, pokračujeme.

 

A to všechno na jednoduchém čipu ATMega 32U4. Jenže kvůli omezeným zdrojům není reálné na něm provozovat embedded operační systém s multitaskingem. To jsme si museli zařídit sami. Tedy, není to tak docela „skutečný“ multitasking. Spíš “jen” chytrá architektura, která zajišťuje, že žádná komponenta nikdy nemůže blokovat ostatní – takže všechno běží hladce.

Unit testy a integrace

David a jeho tým strávili měsíce vývojem firmwaru pouze pomocí unit testů (softwarové testování malých částí kódu) a vždy kontrolovali, zda avr-gcc dokáže kód zkompilovat. Fyzicky se testovalo jen s částečnou implementací komponent HAL. A když vývoj dospěl do pozdějších fází, vývojový tým konečně nahrál firmware do desky MMU2S – a fungoval skvěle, což dokázalo, že cesta testy řízeného vývoje funguje i ve své nejčistější formě.

Důležitou součástí nového firmwaru byla implementace řádných chybových hlášení – a to znamenalo připravit druhou stranu (tiskárnu) na komunikaci. A dvě různé větve firmwaru (MK3S+ s deskou Einsy a 32bitový MK4 s deskou xBuddy) znamenaly „něco málo“ práce navíc.

Nakonec i tady využíváme stavové stroje. Řídicí zařízení je tiskárna a MMU pouze reaguje na příkazy (ale teď už umí „podávat hlášení“). Že výkonnější procesor v tiskárně řídí komunikaci, požadavky a další činnosti ostatně dává smysl. Nad tímto komunikačním protokolem je ještě jedna vrstva, která propojuje protokol s firmwarem Marlin. Tady jsme chtěli zachovat svrchní vrstvu API, ale všechno ostatní jsme vyhodili a kompletně přepsali.

Bylo to neuvěřitelné množství práce, ale nakonec to stálo za to. Komunikace mezi oběma zařízeními probíhá hladce a celý proces je prakticky bezproblémový.

A pak hardwarový tým přišel s několika nápady.

Poupravit tohle, přenastavit tamto…

Už jsme zmínili, že modifikace se kterými přišla komunita pro nás byly důležitým ukazatelem, který nám pomohl zaměřit se na ty nejdůležitější oblasti.

V době, kdy probíhala práce na novém firmwaru, se náš tým hardwarových vývojářů podíval na jednotku MMU a rozhodl se… no – „poupravit tohle, přenastavit tamto“.
Nakonec takhle přepracovali většinu komponent s výjimkou elektroniky.
Detaily si můžete, jako obvykle, přečíst v našem předchozím článku.

Firmwarový tým se mezitím rozhodl přidat do codebase ještě jednu komponentu. A to docela velkou: podporu registrů. Přesněji řečeno: runtime parametrizaci MMU, podobnou systému registru MODBUS. Dokonce se objevil pokus o použití celého protokolu MODBUS, nicméně vzhledem k omezeným zdrojům MK3S+ se od toho upustilo ve prospěch upravené verze protokolu MMU. Ten nyní přidává 35 záznamů registru (1 a 2bajtových) – některé jsou pouze pro čtení, jiné pro čtení/zápis a některé jsou trvale v paměti EEPROM. To nám dává celou řadu nových možností, včetně nových G-kódů M707 a M708 pro čtení/zápis položek registru. To umožňuje například nastavit rychlost zavádění filamentu před každou výměnou. Každá tiskárna také na začátku svou jednotku MMU parametrizuje – což nám umožňuje mít pouze jeden MMU firmware pro všechny podporované modely tiskáren.

Silnější není vždycky lepší

Když MMU3 vkládá filament do extrudéru, je to poměrně jednoduchá operace. Idler se protáčí, vyvíjí tlak na filament a přitlačuje ho k podávacímu ústrojí. Ozubené kolo se začne otáčet a tlačí filament přes selektor a teflonovou trubičku do extrudéru.

Naše původní myšlenka byla, že potřebujeme co největší tlak. Proč taky ne? Filament potřebujete protlačit teflonovou trubičkou a nechcete, aby proklouzl nebo ztratil kroky. Ale ve skutečnosti tomu tak není. Pohyb filamentu kontrolují dva senzory filamentu (v MMU a v tiskárně), takže je úplně jedno, jestli motor nějaké kroky vynechá. A ani nemusí běžet na plný výkon.

Tím se výrazně snižuje pravděpodobnost vzniku otisků ve filamentu- příliš silný pohon by filament v podstatě ohobloval a zabránil by jeho posunutí převodovkou dál. Sebevětší výkon je k ničemu, když kola nedokážou točivý moment přenést na vozovku. Míň proudu do motoru znamená, že pokud se filament někde zasekne, motor nebude materiál hoblovat a zadělávat tak na další problémy o půl hodiny později, až se tahle sekce filamentu dostane do extrudéru. Když MMU vyčerpá přednastavený rozsah/délku kroku, zobrazí chybu. Kus filamentu se ale dá ještě znovu použít (takže vyhazovat ho nemusíte).

Starý firmware MMU taky na rozdíl od tiskárny neměl vlastní stepper a planner engine. Jednotka tak byla hlučnější, než by musela být, a navíc bylo téměř nemožné ovládat zrychlení jinak než změnou kódu. S novým firmwarem tomu už tak není. Teď už má jak stepper tak planner engine, a řídí 3 osy najednou – včetně zrychlení vzestupných posunů. To nám umožňuje řídit rychlost a zrychlení všech motorů dynamicky, za chodu. Taky jsme změnili způsob, jakým drivery TMC2130 provádějí homing (měříme délku os), což mimo jiné přispívá k tomu, že je jednotka tišší a spolehlivější.

O firmwaru MMU3 by se tu určitě dalo rozepsat ještě víc detailů a příběhů, ale ty jsou všechny ještě víc technické než to, co jste si právě dočetli. Takže spíš možná někdy příště. 🙂

Barevný tisk s menším odpadem a větším komfortem

No a to by byl konec našeho shrnutí současné situace kolem MMU3. Jednotka je k dispozici pro všechny podporované modely tiskáren, funguje naprosto skvěle a můžete s ní s minimem námahy dosáhnout opravdu působivých výsledků.

Frontou objednávek MMU3 se prokousáváme rychleji, než jsme čekali, takže pokud na vaši jednotku pořád ještě čekáte, bude na cestě k vám už opravdu brzy! A pokud už s více filamenty tisknete, určitě se s námi podělte o vaše výsledky! Těšíme se na ně a nemůžeme se dočkat, až je uvidíme!

Tisku zdar!

 

Odkazy na modely:

https://3dsets.com/product/model-7-buggy/

https://www.printables.com/model/384371-the-frog-prince-multi-and-single-colour-fairytale-

https://www.printables.com/model/748459-articulated-sea-turtle-singlecolor-and-multicolor

https://www.printables.com/model/576954-chibi-wolverine

https://www.printables.com/model/144657-mini-viking

https://www.printables.com/model/379304-astronaut-sitting-on-moon

https://www.printables.com/model/138600-cat-sculpt-with-mmu-painting

https://www.printables.com/model/563626-lola-bunny-space-jam

https://cults3d.com/en/3d-model/art/kingfisher-mmu-three-versions